From ae87f1d43c6d2cf34bd2ea6fd7b4d28af6d2aa91 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 10 Nov 2023 21:33:49 -0800 Subject: nav update --- .../(app)/fund/[id]/withdraw/+page.server.js | 20 ++++++++ src/routes/(app)/fund/[id]/withdraw/+page.svelte | 58 ++++++++++++++++++++++ src/routes/(app)/fund/[id]/withdraw/+server.js | 6 +++ 3 files changed, 84 insertions(+) create mode 100644 src/routes/(app)/fund/[id]/withdraw/+page.server.js create mode 100644 src/routes/(app)/fund/[id]/withdraw/+page.svelte create mode 100644 src/routes/(app)/fund/[id]/withdraw/+server.js (limited to 'src/routes/(app)/fund/[id]/withdraw') diff --git a/src/routes/(app)/fund/[id]/withdraw/+page.server.js b/src/routes/(app)/fund/[id]/withdraw/+page.server.js new file mode 100644 index 00000000..476149f2 --- /dev/null +++ b/src/routes/(app)/fund/[id]/withdraw/+page.server.js @@ -0,0 +1,20 @@ +import { fail, json, redirect } from '@sveltejs/kit'; +import { fd, auth, post } from '$lib/utils'; + +export async function load({ parent }) { + let { user } = await parent(); + if (!user) throw redirect(307, '/register'); +} + +export const actions = { + default: async ({ cookies, request }) => { + let body = await fd(request); + try { + await post('/take', body, auth(cookies)); + } catch (e) { + return fail(400, { message: e.message }); + } + + throw redirect(307, `/fund/${body.id}`); + } +}; diff --git a/src/routes/(app)/fund/[id]/withdraw/+page.svelte b/src/routes/(app)/fund/[id]/withdraw/+page.svelte new file mode 100644 index 00000000..9cad945a --- /dev/null +++ b/src/routes/(app)/fund/[id]/withdraw/+page.svelte @@ -0,0 +1,58 @@ + + + + +{#if form?.message} +
+ {form.message} +
+{/if} + +
+ + +
+ + + + +
+ +
+
+
diff --git a/src/routes/(app)/fund/[id]/withdraw/+server.js b/src/routes/(app)/fund/[id]/withdraw/+server.js new file mode 100644 index 00000000..0f9a23f3 --- /dev/null +++ b/src/routes/(app)/fund/[id]/withdraw/+server.js @@ -0,0 +1,6 @@ +import { json } from '@sveltejs/kit'; +import { auth, post } from '$lib/utils'; + +export async function POST({ cookies, request }) { + return json(await post('/take', await request.json(), auth(cookies))); +} -- cgit v1.2.3